﻿using System;
using System.Net.Mail;

namespace MiniFox.Mail
{
    /// <summary>
    /// 
    /// </summary>
    public class MailSentEventArgs : EventArgs
    {
        IMailAccount _mailAccount;
        MailMessage _mailMsg;
        bool _isAsync;
        bool _cancelled;

        /// <summary>
        /// 
        /// </summary>
        /// <param name="mailAccount"></param>
        /// <param name="mailMsg"></param>
        /// <param name="isAsync"></param>
        public MailSentEventArgs(IMailAccount mailAccount, MailMessage mailMsg, bool isAsync) : this(mailAccount, mailMsg, isAsync, false)
        {

        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="mailAccount"></param>
        /// <param name="mailMsg"></param>
        /// <param name="isAsync"></param>
        /// <param name="cancelled"></param>
        public MailSentEventArgs(IMailAccount mailAccount, MailMessage mailMsg, bool isAsync, bool cancelled)
        {
            _mailAccount = mailAccount;
            _mailMsg = mailMsg;
            _isAsync = isAsync;
            _cancelled = cancelled;
        }
        /// <summary>
        /// 
        /// </summary>
        public IMailAccount MailAccount
        {
            get
            {
                return _mailAccount;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public MailMessage MailMessage
        {
            get
            {
                return _mailMsg;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public bool IsAsync
        {
            get
            {
                return _isAsync;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public bool Cancelled
        {
            get
            {
                return _cancelled;
            }
        }
    }
}